Messaging and updating services over the air from application servers to applications in mobile devices

ABSTRACT

The present invention provides a method, system and program product for messaging and updating services over the air from application servers to applications in mobile devices, so that applications in mobile devices can receive instant messages over the air from application servers via instant messaging servers and communication networks, with option to communicate back to application servers to fetch updates over the air via communication networks, and execute updates in mobile devices or applications.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not Applicable

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTINGCOMPACT DISK APPENDIX

Not Applicable

BACKGROUND OF THE INVENTION

With the innovation and development of technology, more and more mobiledevices have become part of people's daily lives. A person may have anumber of mobile devices such as smart phones, tablets, and laptops.With many rich features, functionalities and application programminginterfaces built into mobile devices, the creations of applications inmobile devices have become relatively easy and gained popularities toadd services and values to mobile devices. It is not uncommon for amobile device to have dozens of applications installed. At the time ofthis writing, Apple Inc declares that there are more than 500,000applications in its App Store, whereas for Goggle Play, it is estimatedto have more than 600,000 applications.

Applications in mobile devices can be categorized as games,entertainment, utilities, social networking, music, productivity,lifestyle, reference, travel, sports, navigation, healthcare & fitness,news, photography, finance, business, education, weather, books,medical, and etc. Once applications are installed in mobile devices,they can be running in foreground or background, but may not be aware ofsituations that their corresponding application servers have immediateapplication and/or user updates for them to fetch and/or execute. Forexample, suppose an application service provider find that there is aserious bug in its application that is installed in millions ofsmart-phones, and publish a patch and notice in its application server.If the owners of the corresponding smart-phones are aware of the bug andnotice, they can make their smart-phones and/or the application in theirsmart-phones connect to the application server, fetch the bug-fix patchand apply the patch. The issue is how to notify all the owners of thecorresponding smart-phones or how to notify all the correspondingsmart-phones automatically, and during proper time-frame let thesesmart-phones and/or the application in these smart-phones connect to theapplication server, fetch the bug-fix patch and apply the patch.Although applications in mobile devices can initiate communication withtheir corresponding application servers by design such as through httpor https interface, it is quite challenging for application servers toinitiate communication with their corresponding applications in mobiledevices due to security consideration such as firewall protection. Inorder for applications in mobile devices to get immediate updates fromtheir corresponding application servers, certain communicationmechanisms should be established between applications and theircorresponding application servers. Traditionally there are two ways tofacilitate such communication. One is pull-mode, where applicationsperiodically pull application servers to fetch updates, and/or executeupdates. The other is push mode, where application servers push instantnotification messages to applications so that applications can connectto application servers, fetch updates, and/or execute updates rightaway. In the pull-mode mechanism, pulling frequency needs to be highenough to ensure data accuracy and timeliness, which could introducehigh network traffic and scalability issue on applications servers. Onthe other hand, the push-mode mechanism allows instant on-demandnotifications from applications servers to applications, thereforeavoiding unnecessary network traffic and providing reasonablescalability on applications servers.

Short Messaging service (SMS) is a text messaging service provided bymobile operators for mobile phones. SMS messages and WirelessApplication Protocol (WAP) messages on top of SMS bearer can be pushedinto mobile phones and then relayed to applications in mobile phonesnear real-time. Due to the controllability of SMS by mobile operators,mobile device manufacturers and/or mobile operating system providers maybuild messaging services in their own data networks, instead ofdepending on messaging services from mobile operators. For example,Apple Inc has provided Apple Push Notification Service (APNS) for itsmobile and desktop devices such as iPhone, iPad, and MAC, while GoogleInc has implemented Google Cloud Messaging for Android (GCM).

The competitions among mobile device manufacturers and/or mobileoperating system providers lead to proprietary protocols and costlyimplementations for mobile data messaging services. The lack ofstandardization on mobile data messaging services makes it hard forapplication service providers to design, implement and deploy theirapplications on different mobile devices and/or mobile operatingsystems. Therefore there is a need to provide a cost-effective andflexible solution for messaging services between applications in mobiledevices and their corresponding application servers.

Instant messaging is a communication mechanism providing aninstantaneous transmission of messages from senders to receivers betweenpeople with communication devices. There are a number of instantmessaging service providers that have millions of subscribers. Thepresent invention intents to utilize the widely used instant messagingservices and provide messaging and updating services over the air fromapplication servers to applications in mobile devices.

BRIEF SUMMARY OF THE INVENTION

The present invention provides a method, system and program product formessaging and updating services over the air from application servers toapplications in mobile devices, so that applications in mobile devicescan receive instant messages over the air from application servers viainstant messaging servers and communication networks, with option tocommunicate back to application servers to fetch updates over the airvia communication networks, and execute updates in mobile devices orapplications. Application service providers and mobile devicesubscribers setup accounts with instant messaging servers. Applicationservers and mobile devices have instant messaging clients that cansubscribe to and communicate with each other for instant messageexchange via instant messaging servers and communication networks.Mobile device subscribers determine whether applications in mobiledevices should register or de-register with application servers forinstant messaging services from application servers. If applications inmobile devices are granted permissions by mobile device subscribers toreceive instant messages from application servers, then applicationservers can push instant messages to applications whenever there areapplication and/or user updates from application servers toapplications. After instant messages are received on mobile devices,they can be relayed to applications and optionally displayed on thescreens of mobile devices. Applications can further process instantmessages with option to communicate back to application servers, fetchupdates, and execute updates.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

FIG. 1 illustrates a schematic architecture of a mobile device, inaccordance with one embodiment of the present invention.

FIG. 2 illustrates a schematic block diagram of an application server,an instant messaging server, a mobile device, and two communicationnetworks, in accordance with one embodiment of the present invention.

FIG. 3 illustrates a schematic block diagram of the interface andmessage exchange pattern among an application server with an instantmessaging client, an instant messaging server, and a mobile device withan instant messaging client and an application, in accordance with oneembodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a schematic architecture of a mobile device. In oneembodiment, the mobile device 100 comprises central processing units101, system memories 102, disk storages 103, input interfaces 104,output interfaces 105, network interfaces 106, power supply interfaces107, and system buses 108.

The central processing units 101 provide a means for executingexecutable programs and can be any types of micro-controllers,processors, micro-processors, or multi-processors. The system memories102 provide a means for storing executable programs such as a basicinput/output system (BIOS), one or more operating systems, a pluralityof firmware modules, and a plurality of software/application modules.The system memories 102 can be any combinations of random-access memory(RAM) and read-only memory (ROM). The disk storages 103 provide a meansfor storing programs, files and data, and can be any types of internaldisks, external disks 109, optical disks, and the like.

The input interfaces 104 provide a means for transferring data into themobile device 100 through the input devices 110 such as keyboard,keypad, touch-pad, touch screen, thumb-wheel, trackball, mouse, stylus,joystick, microphone, camera, sensor, etc. The input devices 110 can beinternal or external parts of the mobile device 100. The outputinterfaces 105 provide a means for transferring data from the mobiledevice 100 to the output devices 111 such as screen, display,television, speaker, etc. The output devices 111 can be internal orexternal parts of the mobile device 100.

The network interfaces 106 provide a means for transferring data betweenthe mobile device 100 and other network devices 112 via communicationnetworks (not shown) such as circuit-switched telephone networks and/orpacket-switched data networks. They can be any wireless interfaces suchas radio with radio transmitter/receiver/antenna, wirelesslocal/wide/metro area network interfaces, and may include otherwireless, wired and satellite network interfaces.

The power supply interfaces 107 provide power to the mobile device 100.They can be a number of batteries. They may include external powersources such as AC adapters.

The system buses 108 provide a means for transferring data internallyamong the central processing units 101, the system memories 102, thedisk storages 103, the input interfaces 104, the output interfaces 105,the network interfaces 106, and other components (not shown) of themobile device 100.

Reference is now to FIG. 2, which illustrates a schematic block diagramof an application server 201 with an instant messaging client 202, aninstant messaging server 204, a mobile device 206 with an instantmessaging client 207 and an application 208, a communication network 203and a communication network 205. The instant messaging server 204 can bea public or private, standardized or proprietary instant messagingserver, and is responsible for account registration and instant messagerelay between instant messaging clients. The subscriber of the mobiledevice 206 registers an account with the instant messaging server 204,so does the application service provider of the application server 201.The instant messaging client 202 in the application server 201 cancommunicate with other instant messaging clients via communicationnetworks and the instant messaging server 204. The mobile device 206 hasthe same architecture as the one denoted in FIG. 1. The instantmessaging client 207 in the mobile device 206 can communicate with otherinstant messaging clients via communication networks and the instantmessaging server 204. The application 208 in the mobile device 206 isassociated with the application server 201.

The communication network 203 and communication network 205 provide ameans for transporting data between data senders and data receivers. Thecommunication network 203 comprises one or more wireless networks, wirednetworks and satellite networks. The communication network 205 compriseswireless networks, zero or more wired networks and satellite networks.Wired networks can be any combination of internet, intranet, local areanetwork (LAN) such as ethernet, wide area network (WAN) such as framerelay and asynchronous transfer mode (ATM), virtual private network(VPN), public switched telephone network (PSTN), and the like. Wirelessnetworks can be any combination of wireless personal area network (WPAN)such as bluetooth and near field communication (NFC), wireless localarea network (WLAN) such as Wi-Fi, wireless wide area network (WWAN),wireless metropolitan area network (WMAN) such as worldwideinteroperability for microwave access (WIMAX), long term evolution(LTE), cellular network such as global system for mobile communication(GSM), general packet radio service (GPRS), code division multipleaccess (CDMA), evolution-data optimized (EV-DO), enhanced data rates forGSM evolution (EDGE), digital enhanced cordless telecommunication(DECT), integrated digital enhanced network (IDEN), and the like.

Reference is now to FIG. 3, which illustrates a schematic block diagramof the interface and message exchange pattern among an applicationserver with an instant messaging client, an instant messaging server,and a mobile device with an instant messaging client and an application.These entities have the same architectures as those denoted in FIG. 2,with communication networks omitted.

The mobile device 304 and/or the instant messaging client 305 mayprovide graphic user interfaces and/or application programminginterfaces (APIs) to the application 306. These APIs can be remoteprocedure calls (RPCs), message exchanges using publisher/subscribermechanism, and the like. In one embodiment, with the permission from thesubscriber of the mobile device 304, the application 306 can send aregistration/de-registration request through the interface 307 to theinstant messaging client 305 for instant messaging services from theapplication server 301. The instant messaging client 305 can send aregistration/de-registration response back to the application 306. Afterregistration/de-registration request and response, the instant messagingclient 305 can send the registration/de-registration status (failure orsuccess) to the application server 301 through the interface 309 withthe instant messaging server 303, and the interface 310 with the instantmessaging client 302.

In another embodiment, with the permission from the subscriber of themobile device 304, the application 306 can send aregistration/de-registration request through the interface 307 to theinstant messaging client 305 for instant messaging services from theapplication server 301. The instant messaging client 305 can send aregistration/de-registration response back to the application 306. Afterregistration/de-registration request and response, the application 306can send the registration status directly through the interface 311 tothe application server 301.

In another embodiment, with the permission from the subscriber of themobile device 304, the application 306 can send aregistration/de-registration request directly through the interface 311to the application server 301 and get registration/de-registrationresponse from the application server 301.

In the end, after registration/de-registration request and response,both the application 306 and the application server 301 have recordabout whether the mobile device 304 and the application 306 areregistered for instant messaging services from the application server301.

If the mobile device 304 and the application 306 are indeed registeredfor instant messaging service from the application server 301 and if theapplication server 301 has immediate updates for the application 306 inthe mobile device 304, then the application server 301 can send instantnotification messages to the mobile device 304 and the application 306through the interface 312 with the instant messaging server 303, theinterface 313 with the instant messaging client 305, and the interface308 with the application 306. After instant notification messages arereceived, optionally they can be displayed on the screen of the mobiledevice 304. The application 306 can further process instant notificationmessages with option to communicate back to application server 301through the interface 311, fetch updates, and/or execute updates.

While the present invention has been described with respect to a limitednumber of embodiments, those skilled in the art will appreciate numerousmodifications and variations therefrom. It is intended that the appendedclaims cover all such modifications and variations as fall within thetrue spirit and scope of the present invention.

What is claimed is:
 1. A method providing messaging and updatingservices over the air from application servers to applications in mobiledevices via instant messaging servers and communication networks, themethod comprising the acts of: setting up accounts by subscribers ofsaid mobile devices, and application service providers of saidapplication servers via said instant messaging servers and saidcommunication networks; with permissions of said subscribers, creatingregistrations and de-registrations for said mobile devices and saidapplications with said application servers via said communicationnetworks for instant messaging services from said application servers;if there are pending messages or updates for registered said mobiledevices and said applications, then sending instant messages from saidapplication servers to registered said mobile devices via said instantmessaging servers and said communication networks; receiving andprocessing said instant messages on registered said mobile devices andsaid applications; optionally displaying said instant messages onregistered said mobile devices, fetching updates from said applicationservers to registered said mobile devices via said communicationnetworks, and executing said updates in registered said mobile devicesand/or said applications.
 2. The method as claimed in claim 1, whereinsaid instant messaging servers can be public or private instantmessaging servers, with standardized protocols such as ExtensibleMessaging and Presence Protocol (XMPP) and Session Initiation Protocolfor Instant Messaging and Presence Leveraging Extensions (SIMPLE), orproprietary protocols such as AOL and Skype instant messaging protocols;wherein said communication networks comprise one or more of wireless,wired and satellite networks; wherein said account setups for saidsubscribers and said application service providers, can be performed viasaid communication networks with portals or application programminginterfaces of said instant messaging servers, or third party interfacesassociated with said instant messaging servers.
 3. The method as claimedin claim 1, wherein said subscribers are the owners and/or users of saidmobile devices; wherein said mobile devices comprise central processingunits, system memories, wireless network interfaces and zero or more ofwired and satellite network interfaces, system buses, power supplyinterfaces and/or batteries, zero or more of disk storages, inputinterfaces and/or input devices, and output interfaces and/or outputdevices; wherein said application servers and said mobile devices haveinstant messaging clients that can subscribe to and communicate witheach other for instant message exchange via said instant messagingservers and said communication networks.
 4. The method as claimed inclaim 1, wherein said registrations and de-registrations for said mobiledevices and said applications via said communication networks can beinitiated by either graphic user interfaces or application programminginterfaces in said mobile devices, and can be performed by either directnetwork interfaces from said applications in said mobile devices to saidapplication servers, or by a sequence of network interfaces withintermediate entities of said instant message clients in said mobiledevices, said instant messaging servers, and said instant messageclients in said application servers.
 5. The method as claimed in claim1, wherein delivery of said instant messages from said applicationservers to registered said mobile devices via said instant messagingservers and said communication networks can be performed by a sequenceof network interfaces with intermediate entities of said instant messageclients in said application servers, said instant messaging servers, andsaid instant message clients in registered said mobile devices. Aftersaid instant messages are received in registered said mobile devices,they can be relayed to said applications through application programminginterfaces via said instant messaging clients in registered said mobiledevices.
 6. A system providing messaging and updating services over theair from application servers to applications in mobile devices viainstant messaging servers and communication networks, the systemcomprising: mobile devices; instant messaging servers; applicationservers; communication networks; and performing the acts of: setting upaccounts by subscribers of said mobile devices, and application serviceproviders of said application servers via said instant messaging serversand said communication networks; with permissions of said subscribers,creating registrations and de-registrations for said mobile devices andsaid applications with said application servers via said communicationnetworks for instant messaging services from said application servers;if there are pending messages or updates for registered said mobiledevices and said applications, then sending instant messages from saidapplication servers to registered said mobile devices via said instantmessaging servers and said communication networks; receiving andprocessing said instant messages on registered said mobile devices andsaid applications; optionally displaying said instant messages onregistered said mobile devices, fetching updates from said applicationservers to registered said mobile devices via said communicationnetworks, and executing said updates in registered said mobile devicesand/or said applications.
 7. The system as claimed in claim 6, whereinsaid instant messaging servers can be public or private instantmessaging servers, with standardized protocols such as ExtensibleMessaging and Presence Protocol (XMPP) and Session Initiation Protocolfor Instant Messaging and Presence Leveraging Extensions (SIMPLE), orproprietary protocols such as AOL and Skype instant messaging protocols;wherein said communication networks comprise one or more of wireless,wired and satellite networks; wherein said account setups for saidsubscribers and said application service providers, can be performed viasaid communication networks with portals or application programminginterfaces of said instant messaging servers, or third party interfacesassociated with said instant messaging servers
 8. The system as claimedin claim 6, wherein said subscribers are the owners and/or users of saidmobile devices; wherein said mobile devices comprise central processingunits, system memories, wireless network interfaces and zero or more ofwired and satellite network interfaces, system buses, power supplyinterfaces and/or batteries, zero or more of disk storages, inputinterfaces and/or input devices, and output interfaces and/or outputdevices; wherein said application servers and said mobile devices haveinstant messaging clients that can subscribe to and communicate witheach other for instant message exchange via said instant messagingservers and said communication networks.
 9. The system as claimed inclaim 6, wherein said registrations and de-registrations for said mobiledevices and said applications via said communication networks can beinitiated by either graphic user interfaces or application programminginterfaces in said mobile devices, and can be performed by either directnetwork interfaces from said applications in said mobile devices to saidapplication servers, or by a sequence of network interfaces withintermediate entities of said instant message clients in said mobiledevices, said instant messaging servers, and said instant messageclients in said application servers.
 10. The system as claimed in claim6, wherein delivery of said instant messages from said applicationservers to registered said mobile devices via said instant messagingservers and said communication networks can be performed by a sequenceof network interfaces with intermediate entities of said instant messageclients in said application servers, said instant messaging servers, andsaid instant message clients in registered said mobile devices. Aftersaid instant messages are received in registered said mobile devices,they can be relayed to said applications through application programminginterfaces via said instant messaging clients in registered said mobiledevices.
 11. A program product comprising executable instructionsembodied in readable media of applications servers, instant messagingservers and mobile devices for providing messaging and updating servicesover the air from application servers to applications in mobile devicesvia instant messaging servers and communication networks, the programproduct comprising the acts of: setting up accounts by subscribers ofsaid mobile devices, and application service providers of saidapplication servers via said instant messaging servers and saidcommunication networks; with permissions of said subscribers, creatingregistrations and de-registrations for said mobile devices and saidapplications with said application servers via said communicationnetworks for instant messaging services from said application servers;if there are pending messages or updates for registered said mobiledevices and said applications, then sending instant messages from saidapplication servers to registered said mobile devices via said instantmessaging servers and said communication networks; receiving andprocessing said instant messages on registered said mobile devices andsaid applications; optionally displaying said instant messages onregistered said mobile devices, fetching updates from said applicationservers to registered said mobile devices via said communicationnetworks, and executing said updates in registered said mobile devicesand/or said applications.
 12. The program product as claimed in claim11, wherein said instant messaging servers can be public or privateinstant messaging servers, with standardized protocols such asExtensible Messaging and Presence Protocol (XMPP) and Session InitiationProtocol for Instant Messaging and Presence Leveraging Extensions(SIMPLE), or proprietary protocols such as AOL and Skype instantmessaging protocols; wherein said communication networks comprise one ormore of wireless, wired and satellite networks; wherein said accountsetups for said subscribers and said application service providers, canbe performed via said communication networks with portals or applicationprogramming interfaces of said instant messaging servers, or third partyinterfaces associated with said instant messaging servers.
 13. Theprogram product as claimed in claim 11, wherein said subscribers are theowners and/or users of said mobile devices; wherein said mobile devicescomprise central processing units, system memories, wireless networkinterfaces and zero or more of wired and satellite network interfaces,system buses, power supply interfaces and/or batteries, zero or more ofdisk storages, input interfaces and/or input devices, and outputinterfaces and/or output devices; wherein said application servers andsaid mobile devices have instant messaging clients that can subscribe toand communicate with each other for instant message exchange via saidinstant messaging servers and said communication networks.
 14. Theprogram product as claimed in claim 11, wherein said registrations andde-registrations for said mobile devices and said applications via saidcommunication networks can be initiated by either graphic userinterfaces or application programming interfaces in said mobile devices,and can be performed by either direct network interfaces from saidapplications in said mobile devices to said application servers, or by asequence of network interfaces with intermediate entities of saidinstant message clients in said mobile devices, said instant messagingservers, and said instant message clients in said application servers.15. The program product as claimed in claim 11, wherein delivery of saidinstant messages from said application servers to registered said mobiledevices via said instant messaging servers and said communicationnetworks can be performed by a sequence of network interfaces withintermediate entities of said instant message clients in saidapplication servers, said instant messaging servers, and said instantmessage clients in registered said mobile devices. After said instantmessages are received in registered said mobile devices, they can berelayed to said applications through application programming interfacesvia said instant messaging clients in registered said mobile devices.